import numpy
from matplotlib import pyplot
data=numpy.loadtxt('./testSet3.txt',delimiter='\t',encoding='utf-8',dtype=numpy.float64)
#去除平均值
mean=numpy.mean(data,axis=0,dtype=numpy.float64)
data=numpy.subtract(data,mean)
pyplot.scatter(data[:,0],data[:,1])#画出去除平均值后的坐标
pyplot.show()
#计算协方差矩阵
cov=numpy.cov(data,rowvar=False,dtype=numpy.float64)
print(cov)
value,vector=numpy.linalg.eig(cov)
#进行排序
index=numpy.argsort(value)[::-1]
vector=vector[:,index]
#计算数据在新坐标系的坐标
new_data=data@vector
pyplot.xlim([-15,15])
pyplot.ylim([-10,10])
pyplot.scatter(new_data[:,0],new_data[:,1])#画出变换之后的坐标
pyplot.show()

